package com.ruoyi.pm.util;

/**
 * 接口监控中心常量定义
 *
 * @author xiongyw
 * @time 2016年12月19日下午5:23:15
 * @Company 优法云
 */
public class ExcConstant {

    /**
     * 我们定义数据返回的格式信息，暂定为3中类型
     */
    public enum DataEnum {
        JSON(1), XML(2), JAVA(3);
        private int value;

        private DataEnum(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }

        @Override
        public String toString() {
            return String.valueOf(this.value);
        }
    }

    /**
     * 定义入参与出参 into：入参； out 出参； Error 异常
     */
    public enum TypeEnum {
        Into(1), Out(2); // Error(3);

        private int value;

        private TypeEnum(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }

        @Override
        public String toString() {
            return String.valueOf(this.value);
        }
    }

    /**
     * 是与否
     *
     * @author xiongyw
     */
    public enum YesNoEnum {
        YES(1), NO(0);

        private int value;

        private YesNoEnum(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }

        @Override
        public String toString() {
            return String.valueOf(this.value);
        }
    }

    /**
     * 所有的栏类型，目前对于json也就3种，一个是值，一个是map，一个是list
     * 对于xml比较恶心了，新增第四种类型xmllist，由于json转xml的时候[]会新增一个标签e
     */
    public enum ColumnEnum {
        Value("1"), Map("2"), List("3");

        private String value;

        private ColumnEnum(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }

        @Override
        public String toString() {
            return String.valueOf(this.value);
        }
    }

    /**
     * 对于每次查找，我们都需要找出父亲的值，以及当前查找对象的值
     */
    public interface DecodeKey {
        String SplitValue = "->";

        String SplitEncry = ",";

        String SplitVLine = "\\|";

        /**
         * 自定义root,方便我们替换
         **/
        String RootName = "ufaNoRootNameufa";

    }

    public interface CacheKey {
        String KV = "KV";

        String Insurer = "Insurer";
        String Port = "Port";
        String IPort = "IPort";

        String PConfig = "PConfig";
        String IConfig = "IConfig";
        String IPConfig = "IPConfig";

        String EXC_CACHE = "excCache";

        String Risk = "Risk";

        String Rating = "Rating";
    }

    /**
     * 系统接口请求类型
     *
     * @author xiongyw
     */
    public interface ReqTypeKey {
        // 普通http
        Integer HTTP = 1;

        // Webservice
        Integer WS = 2;
    }

    /**
     * 数据操作类型
     *
     * @author xiongyw
     */
    public interface OperatKey {
        Integer ADD = 1;
        Integer UPDATE = 2;
        Integer DELETE = 3;
    }
}
